home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / kernel / vm / sun4.md / vmMachInt.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-12-19  |  2.4 KB  |  60 lines

  1. /*
  2.  * vmMachInt.h
  3.  *
  4.  *         Internal machine dependent virtual memory data structures and procedure 
  5.  *    headers.
  6.  *
  7.  * Copyright (C) 1985 Regents of the University of California
  8.  * All rights reserved.
  9.  *
  10.  *
  11.  * $Header: /cdrom/src/kernel/Cvsroot/kernel/vm/sun4.md/vmMachInt.h,v 9.6 91/10/18 01:13:58 dlong Exp $ SPRITE (Berkeley)
  12.  */
  13.  
  14. #include "vmMach.h"
  15. #ifndef _VMMACHINT
  16. #define _VMMACHINT
  17.  
  18. extern    Address        vmMachPTESegAddr;
  19. extern    Address        vmMachPMEGSegAddr;
  20.  
  21. /*
  22.  * Machine-dependent routines internal to the vm module.
  23.  */
  24. extern VmMachPTE VmMachGetPageMap _ARGS_((Address virtualAddress));
  25. extern void VmMachSetPageMap _ARGS_((Address virtualAddress, VmMachPTE pte));
  26. extern int VmMachGetSegMap _ARGS_((Address virtualAddres));
  27. extern void VmMachSetSegMap _ARGS_((Address virtualAddress, int value));
  28. extern VmMachPTE VmMachReadPTE _ARGS_((int pmegNum, Address addr));
  29. extern void VmMachWritePTE _ARGS_((int pmegNum, Address addr, VmMachPTE pte));
  30. extern int VmMachGetUserContext _ARGS_((void));
  31. extern int VmMachGetKernelContext _ARGS_((void));
  32. extern int VmMachGetContextReg _ARGS_((void));
  33. extern void VmMachSetUserContext _ARGS_((int value));
  34. extern void VmMachSetKernelContext _ARGS_((int value));
  35. extern void VmMachSetContextReg _ARGS_((int value));
  36. extern void VmMachPMEGZero _ARGS_((int pmeg));
  37. extern void VmMachClearCacheTags _ARGS_((void));
  38. extern void VmMachInitAddrErrorControlReg _ARGS_((void));
  39. extern void VmMachInitSystemEnableReg _ARGS_((void));
  40. #ifdef sun4
  41. extern void VmMachFlushCurrentContext _ARGS_((void));
  42. extern ReturnStatus VmMachTouchPages _ARGS_((int firstPage, int numPages));
  43. #endif
  44. extern void VmMachFlushSegment _ARGS_((Address segVirtAddr));
  45. extern void VmMachReadAndZeroPMEG _ARGS_((int pmeg, VmMachPTE pteArray[]));
  46. extern void VmMachSetSegMap _ARGS_((Address virtualAddress, int value));
  47. extern void VmMachCopyUserSegMap _ARGS_((unsigned short *tablePtr));
  48. extern void VmMachFlushByteRange _ARGS_((Address virtAddr, int numBytes));
  49. extern void VmMachFlushPage _ARGS_((Address pageVirtAddr));
  50. extern void VmMachSetup32BitDVMA _ARGS_((void));
  51. extern ReturnStatus VmMachQuickNDirtyCopy _ARGS_((register int numBytes,
  52.     Address sourcePtr, Address destPtr, unsigned int sourceContext,
  53.     unsigned int destContext));
  54. extern ReturnStatus VmMachDoCopy _ARGS_((register int numBytes,
  55.     Address sourcePtr, Address destPtr));
  56. extern void VmMachSegMapCopy _ARGS_((char *tablePtr, int startAddr,
  57.     int endAddr));
  58.  
  59. #endif /* _VMMACHINT */
  60.